package com.zxcl.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zxcl.domain.ProdProp;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxcl.domain.ProdPropValue;
import com.zxcl.dto.PageDTO;
import com.zxcl.dto.PropAddDTO;
import com.zxcl.dto.PropQueryDTO;
import com.zxcl.dto.PropUpdateDTO;
import com.zxcl.vo.ProdPropVo;

import java.util.List;

public interface ProdPropService extends IService<ProdProp>{


    /**
     * 分页查询规格和规格值
     * @param pageDTO
     * @param propQueryDTO
     * @return
     */
    Page<ProdPropVo> loadProdPropVoPage(PageDTO pageDTO, PropQueryDTO propQueryDTO);

    /**
     * 新增规格和规格值
     * @param propAddDTO
     * @param shopId
     * @return
     */
    Integer addPropAndVals(PropAddDTO propAddDTO, Long shopId);


    /**
     * 修改规格和规格值
     * @param propUpdateDTO
     * @return
     */
    Integer updatePropAndVals(PropUpdateDTO propUpdateDTO);

    /**
     * 查询规格列表
     * @param shopId
     * @return
     */
    List<ProdProp> loadProdProps(Long shopId);

    /**
     * 根据规格id查询规格值列表
     *
     * @param propId
     * @return
     */

    List<ProdPropValue> loadPropVals(Long propId);
}
